package com.zhiche.lisa.lspm.vo.vehicle;

import com.alibaba.fastjson.annotation.JSONField;
import com.alibaba.fastjson.serializer.ToStringSerializer;
import com.zhiche.lisa.lspm.dao.model.carrier.bo.ModifyCarrierCardBO;
import com.zhiche.lisa.lspm.dao.model.carrier.bo.ModifyCarrierLicenseBO;
import org.codehaus.jackson.map.annotate.JsonSerialize;

import java.math.BigDecimal;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;

/**
 * 牵引车详细信息 VO
 * @since 2018-05-23
 * @author lbl
 */
public class CarrierDetailVO {

    private Long id;
    /**
     * 车牌号
     */
    private String plate;
    /**
     * 车主姓名
     */
    private String ownerName;
    /**
     * 车主电话
     */
    private String ownerMobile;
    /**
     * 业务车牌
     */
    private String plateAnno;
    /**
     * 生产厂商
     */
    private String manufacturer;
    /**
     * 司机ID
     */
    @JSONField(serializeUsing= ToStringSerializer.class)
    private Long driverId;
    /**
     * 司机姓名
     */
    private String driverName;
    /**
     * 司机电话
     */
    private String driverMobile;
    private Float length;
    private Float width;
    private Float height;
    /**
     * 出厂日期
     */
    private Date gmtManu;
    /**
     * 上次年检日期
     */
    private Date gmtAs;
    /**
     * 品牌型号
     */
    private String model;
    /**
     * 轴数
     */
    private Integer axisNumber;
    /**
     * 已行驶里程
     */
    private BigDecimal travelledDist;
    /**
     * 空载油耗最小值
     */
    private Integer minNl;
    /**
     * 空载油耗最大值
     */
    private Integer maxNl;
    /**
     * 重载油耗最小值
     */
    private Integer minFl;
    /**
     * 重载油耗最大值
     */
    private Integer maxFl;
    /**
     * 自重
     */
    private Integer selfWeight;
    /**
     * 所属承运商 id
     */
    private Long lspId;
    /**
     * 所属承运商名称
     */
    private String lspName;
    /**
     * 是否租赁
     */
    private Integer isRent;
    /**
     * 出租方
     */
    private String lessor;
    /**
     * 所属车队
     */
    private String fleetId;

    /**
     * 所属车队名
     */
    private String fleetName;

    private String creator;
    /**
     * 牵引车证照
     */
    List<ModifyCarrierLicenseBO> modifyCarrierLicenseBOList = new ArrayList<>();

    /**
     * 牵引车绑定的卡片
     */
    List<ModifyCarrierCardBO> modifyCarrierCardBOList = new ArrayList<>();

    public String getFleetName() {
        return fleetName;
    }

    public void setFleetName(String fleetName) {
        this.fleetName = fleetName;
    }

    public Long getId() {
        return id;
    }

    public void setId(Long id) {
        this.id = id;
    }

    public String getPlate() {
        return plate;
    }

    public void setPlate(String plate) {
        this.plate = plate;
    }

    public String getOwnerName() {
        return ownerName;
    }

    public void setOwnerName(String ownerName) {
        this.ownerName = ownerName;
    }

    public String getOwnerMobile() {
        return ownerMobile;
    }

    public void setOwnerMobile(String ownerMobile) {
        this.ownerMobile = ownerMobile;
    }

    public String getPlateAnno() {
        return plateAnno;
    }

    public void setPlateAnno(String plateAnno) {
        this.plateAnno = plateAnno;
    }

    public String getManufacturer() {
        return manufacturer;
    }

    public void setManufacturer(String manufacturer) {
        this.manufacturer = manufacturer;
    }

    public Long getDriverId() {
        return driverId;
    }

    public void setDriverId(Long driverId) {
        this.driverId = driverId;
    }

    public String getDriverName() {
        return driverName;
    }

    public void setDriverName(String driverName) {
        this.driverName = driverName;
    }

    public String getDriverMobile() {
        return driverMobile;
    }

    public void setDriverMobile(String driverMobile) {
        this.driverMobile = driverMobile;
    }

    public Float getLength() {
        return length;
    }

    public void setLength(Float length) {
        this.length = length;
    }

    public Float getWidth() {
        return width;
    }

    public void setWidth(Float width) {
        this.width = width;
    }

    public Float getHeight() {
        return height;
    }

    public void setHeight(Float height) {
        this.height = height;
    }

    public Date getGmtManu() {
        return gmtManu;
    }

    public void setGmtManu(Date gmtManu) {
        this.gmtManu = gmtManu;
    }

    public Date getGmtAs() {
        return gmtAs;
    }

    public void setGmtAs(Date gmtAs) {
        this.gmtAs = gmtAs;
    }

    public String getModel() {
        return model;
    }

    public void setModel(String model) {
        this.model = model;
    }

    public Integer getAxisNumber() {
        return axisNumber;
    }

    public void setAxisNumber(Integer axisNumber) {
        this.axisNumber = axisNumber;
    }

    public BigDecimal getTravelledDist() {
        return travelledDist;
    }

    public void setTravelledDist(BigDecimal travelledDist) {
        this.travelledDist = travelledDist;
    }

    public Integer getMinNl() {
        return minNl;
    }

    public void setMinNl(Integer minNl) {
        this.minNl = minNl;
    }

    public Integer getMaxNl() {
        return maxNl;
    }

    public void setMaxNl(Integer maxNl) {
        this.maxNl = maxNl;
    }

    public Integer getMinFl() {
        return minFl;
    }

    public void setMinFl(Integer minFl) {
        this.minFl = minFl;
    }

    public Integer getMaxFl() {
        return maxFl;
    }

    public void setMaxFl(Integer maxFl) {
        this.maxFl = maxFl;
    }

    public Integer getSelfWeight() {
        return selfWeight;
    }

    public void setSelfWeight(Integer selfWeight) {
        this.selfWeight = selfWeight;
    }

    public Long getLspId() {
        return lspId;
    }

    public void setLspId(Long lspId) {
        this.lspId = lspId;
    }

    public String getLspName() {
        return lspName;
    }

    public void setLspName(String lspName) {
        this.lspName = lspName;
    }

    public Integer getIsRent() {
        return isRent;
    }

    public void setIsRent(Integer isRent) {
        this.isRent = isRent;
    }

    public String getLessor() {
        return lessor;
    }

    public void setLessor(String lessor) {
        this.lessor = lessor;
    }

    public String getFleetId() {
        return fleetId;
    }

    public void setFleetId(String fleetId) {
        this.fleetId = fleetId;
    }

    public String getCreator() {
        return creator;
    }

    public void setCreator(String creator) {
        this.creator = creator;
    }

    public List<ModifyCarrierLicenseBO> getModifyCarrierLicenseBOList() {
        return modifyCarrierLicenseBOList;
    }

    public void setModifyCarrierLicenseBOList(List<ModifyCarrierLicenseBO> modifyCarrierLicenseBOList) {
        this.modifyCarrierLicenseBOList = modifyCarrierLicenseBOList;
    }

    public List<ModifyCarrierCardBO> getModifyCarrierCardBOList() {
        return modifyCarrierCardBOList;
    }

    public void setModifyCarrierCardBOList(List<ModifyCarrierCardBO> modifyCarrierCardBOList) {
        this.modifyCarrierCardBOList = modifyCarrierCardBOList;
    }

    @Override
    public String toString() {
        return "ModifyCarrierInfoBO{" +
                "id=" + id +
                ", plate='" + plate + '\'' +
                ", ownerName='" + ownerName + '\'' +
                ", ownerMobile='" + ownerMobile + '\'' +
                ", plateAnno='" + plateAnno + '\'' +
                ", manufacturer='" + manufacturer + '\'' +
                ", driverId=" + driverId +
                ", driverName='" + driverName + '\'' +
                ", driverMobile='" + driverMobile + '\'' +
                ", length=" + length +
                ", width=" + width +
                ", height=" + height +
                ", gmtManu=" + gmtManu +
                ", gmtAs=" + gmtAs +
                ", model='" + model + '\'' +
                ", axisNumber=" + axisNumber +
                ", travelledDist=" + travelledDist +
                ", minNl=" + minNl +
                ", maxNl=" + maxNl +
                ", minFl=" + minFl +
                ", maxFl=" + maxFl +
                ", selfWeight=" + selfWeight +
                ", lspId=" + lspId +
                ", lspName=" + lspName +
                ", isRent=" + isRent +
                ", lessor='" + lessor + '\'' +
                ", fleetId=" + fleetId +
                ", modifyCarrierLicenseBOList=" + modifyCarrierLicenseBOList +
                ", modifyCarrierCardBOList=" + modifyCarrierCardBOList +
                '}';
    }
}
